package com.rkc.component;

import com.rkc.vo.PayInfoVO;

/**
 * @author `RKC`
 * @date 2022/3/6 14:37
 */
public class PayStrategyContext {

    private PayStrategy payStrategy;

    public PayStrategyContext(PayStrategy payStrategy) {
        this.payStrategy = payStrategy;
    }

    /**
     * 根据支付策略，调用不同的支付
     * @param payInfoVO
     * @return
     */
    public String executeUnifiedOrder(PayInfoVO payInfoVO) {
        return payStrategy.unifiedOrder(payInfoVO);
    }

    /**
     * 根据支付策略，调用不同的查询支付状态
     * @param payInfoVO
     * @return
     */
    public String executeQueryPayState(PayInfoVO payInfoVO) {
        return payStrategy.queryPayState(payInfoVO);
    }
}
